home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-11-08 | 3.4 KB | 121 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWBArray.h
- // Release Version: $ 1.0d11 $
- //
- // Copyright: © 1995 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef FWBARRAY_H
- #define FWBARRAY_H
-
- #ifndef FWAUTODE_H
- #include "FWAutoDe.h"
- #endif
-
- // ----- OpenDoc Includes -----
-
- #ifndef _ODTYPES_
- #include <ODTypes.h>
- #endif
-
- #if FW_LIB_EXPORT_PRAGMAS
- #pragma lib_export on
- #endif
-
- //========================================================================================
- // class FW_CByteArray
- //========================================================================================
-
- class FW_CLASS_ATTR FW_CByteArray FW_AUTO_DESTRUCT_OBJECT
- {
- //----------------------------------------------------------------------------------------
- // Constructor(s)/Destructor
- //
- public:
- FW_CByteArray();
- FW_CByteArray(void* buffer, unsigned long byteCount);
- FW_CByteArray(const void* buffer, unsigned long byteCount);
- FW_CByteArray(unsigned long byteCount);
-
- ~FW_CByteArray();
-
- //----------------------------------------------------------------------------------------
- // operator(s)
- //
- public:
- operator ODByteArray*();
-
- //----------------------------------------------------------------------------------------
- // New API
- //
- public:
- void* GetBuffer() const;
- unsigned long GetBufferMaximum() const;
- unsigned long GetBufferLength() const;
-
- void Set(void* buffer, unsigned long byteCount);
-
- unsigned long CopyBuffer(void *buffer, unsigned long byteCount);
- void Clear();
-
- private:
- void PrivDisposeByteArray();
- // void PrivCopyByteArray(const FW_CByteArray& byteArray);
-
- //----------------------------------------------------------------------------------------
- // Non-implemented
- //
- private:
- FW_CByteArray(const FW_CByteArray& byteArray);
- FW_CByteArray& operator=(const FW_CByteArray& byteArray);
-
- //----------------------------------------------------------------------------------------
- // Data Member
- //
- private:
- ODByteArray fODByteArray;
- FW_Boolean fOwnBuffer;
- unsigned long fOffset; // allows CopyBuffer to be used piecemeal
- };
-
- //----------------------------------------------------------------------------------------
- // operator ODByteArray*
- //----------------------------------------------------------------------------------------
- inline FW_CByteArray::operator ODByteArray*()
- {
- return &fODByteArray;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CByteArray::GetBuffer
- //----------------------------------------------------------------------------------------
- inline void* FW_CByteArray::GetBuffer() const
- {
- return fODByteArray._buffer;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CByteArray::GetBufferMaximum
- //----------------------------------------------------------------------------------------
- inline unsigned long FW_CByteArray::GetBufferMaximum() const
- {
- return fODByteArray._maximum;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_CByteArray::GetBufferLength
- //----------------------------------------------------------------------------------------
- inline unsigned long FW_CByteArray::GetBufferLength() const
- {
- return fODByteArray._length;
- }
-
- #if FW_LIB_EXPORT_PRAGMAS
- #pragma lib_export off
- #endif
-
- #endif
-
-